/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package wasolicitudesfiec.consultas;
import java.sql.Connection;
import entidad.Materia;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.Vector;
/**
 *
 * @author kabad
 */
public class ConsultasMateria{
private Connection con;

public boolean HLmodificarMateria(Materia val) throws SQLException{
return modificarMateria(val.getCodigo(), val.getIdMateria(), val.getNombre(),val.isActivo());
}

public boolean eliminarMateria(int idMateria) throws SQLException{
boolean exitoOperacion = true;

PreparedStatement proc=con.prepareStatement(
"call eliminarMateria(?) ");
proc.setInt(1, idMateria);
proc.execute();
return exitoOperacion;


}

public boolean HLeliminarMateria(Materia val) throws SQLException{
return eliminarMateria(val.getIdMateria());
}

public void setConexion(Connection con) {
this.con=con;
}

public Materia nuevoMateria(String codigo, String nombre, boolean activo) throws SQLException{
Materia reg=new Materia();

PreparedStatement proc=con.prepareStatement(
"call nuevoMateria(?,?,?) ");
proc.setString(1, codigo);
proc.setString(2, nombre);
proc.setBoolean(3, activo);
ResultSet rs=proc.executeQuery();
if (rs.next()) {
reg.setCodigo(rs.getString(1));
reg.setIdMateria(rs.getInt(2));
reg.setNombre(rs.getString(3));
}else reg=null;
return reg;


}

public Materia HLnuevoMateria(Materia val) throws SQLException{
return nuevoMateria(val.getCodigo(), val.getNombre(),val.isActivo());
}

public Materia leerMateria(int idMateria) throws SQLException{
Materia reg=new Materia();

PreparedStatement proc=con.prepareStatement(
"call leerMateria(?) ");
proc.setInt(1, idMateria);
ResultSet rs=proc.executeQuery();
if (rs.next()) {
reg.setCodigo(rs.getString(1));
reg.setIdMateria(rs.getInt(2));
reg.setNombre(rs.getString(3));
reg.setActivo(rs.getBoolean(4));
}else reg=null;
return reg;


}

public Materia HLleerMateria(Materia val) throws SQLException{
return leerMateria(val.getIdMateria());
}

public Vector<Materia> leerVariosMateria() throws SQLException{
Vector<Materia> datos=new Vector<Materia>();
Materia reg;

PreparedStatement proc=con.prepareStatement(
"call leerVariosMateria() ");
ResultSet rs=proc.executeQuery();
while (rs.next()) {
reg = new Materia();
reg.setCodigo(rs.getString(1));
reg.setIdMateria(rs.getInt(2));
reg.setNombre(rs.getString(3));
datos.add(reg);
}//end while
return datos;


}

public Vector<Materia> HLleerVariosMateria(Materia val) throws SQLException{
return leerVariosMateria();
}

public boolean modificarMateria(String codigo, int idMateria, String nombre, boolean activo) throws SQLException{
boolean exitoOperacion = true;

PreparedStatement proc=con.prepareStatement(
"call modificarMateria(?,?,?,?) ");
proc.setString(1, codigo);
proc.setInt(2, idMateria);
proc.setString(3, nombre);
proc.setBoolean(4, activo);
proc.execute();
return exitoOperacion;


}


}// FIN CLASE: ConsultasMateria